package cn.com.dcsgo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 订单信息
 *
 * @author Dcsgo
 * @since 2025/11/16 15:12
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "订单信息")
public class OrderVO {
    /**
     * 订单编号
     */
    @Schema(description = "订单编号")
    private String orderNumber;
    /**
     * 总值
     */
    @Schema(description = "总值")
    private BigDecimal totalMoney;
    /**
     * 实际总值
     */
    @Schema(description = "实际总值")
    private BigDecimal actualTotal;
    /**
     * 订单备注
     */
    @Schema(description = "订单备注")
    private String remarks;
    /**
     * 订单状态1:待付款2:待发货3:待收货4:待评价5:成功6:失败
     */
    @Schema(description = "订单状态1:待付款2:待发货3:待收货4:待评价5:成功6:失败")
    private Integer status;
    /**
     * 订单运费
     */
    @Schema(description = "订单运费")
    private BigDecimal freightAmount;
    /**
     * 订单商品总数
     */
    @Schema(description = "订单商品总数")
    private Integer productNums;
    /**
     * 订购时间
     */
    @Schema(description = "订购时间")
    private Date createTime;
    /**
     * 优惠总额
     */
    @Schema(description = "优惠总额")
    private BigDecimal reduceAmount;
    /**
     * 订单详情
     */
    @Schema(description = "订单详情项列表")
    private List<OrderItemVO> orderItemList;
}
